//
//  ViewController.m
//  02-UIViewController
//
//  Created by 402030900@qq.com on 16/7/15.
//  Copyright © 2016年 402030900@qq.com. All rights reserved.
//

#import "ViewController.h"
#import "PresentViewController.h"
@interface ViewController ()
@property(nonatomic,strong)UIView * subView;
@end

@implementation ViewController
// 初始化方法
-(instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // 不要在这个方法中,去加载视图
        // 在这个方法中去初始化一些数据相关的内容
        
    }
    return self;
}
// loadView 加载UIViewController中的view
// UINavigation UITableViewController 在 loadView中 给重写赋值了
-(void)loadView{
    [super loadView];
    NSLog(@"loadView");
    // 改变self.view
}
// view 已经加载
// 所有自定义视图的创建
- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"viewDidLoad");
    
    NSLog(@"%@",self.view);
    
    UIButton * button = [UIButton buttonWithType:(UIButtonTypeSystem)];
    [button setFrame:[UIScreen mainScreen].bounds] ;
    button.backgroundColor = [UIColor blueColor];
    [self.view addSubview:button];
    [button addTarget:self action:@selector(touchesBegan:withEvent:) forControlEvents:(UIControlEventTouchUpInside)];
    
    
    // Do any additional setup after loading the view, typically from a nib.
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    PresentViewController * present = [[PresentViewController alloc]init];
    // 模态 动画效果
    present.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
//    UIModalTransitionStyleCoverVertical // 默认效果:从下而上
//    UIModalTransitionStyleFlipHorizontal //左右旋转翻页
//    UIModalTransitionStyleCrossDissolve // 渐变效果
//    UIModalTransitionStylePartialCurl // 翻书效果
    // 模态,一个视图控制器
    [self presentViewController:present animated:YES completion:nil];
}
// 注意 init loadView viewDidLoad 只执行一次
// 下述方法会执行多次
// 视图将要出现时
-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
}
// 视图已经出现时
-(void)viewDidAppear:(BOOL)animated{
    [super viewWillDisappear:animated];
}
// 视图将要消失时
-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
}
// 视图已经消失时
-(void)viewDidDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
}

// 懒加载的写法
-(UIView *)subView{
    if (_subView  == nil) {
        _subView = [UIView new];
  }
    return _subView;
}
// 接收到内存警告时,执行的方法
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // 释放部分内存资源
    // 把未显示在屏幕上的资源置空
    // Dispose of any resources that can be recreated.
}

@end
